export {}

interface Inter {
  [key: symbol]: string
}

// 创建一个符号
let s = Symbol()

let obj: Inter = { [s]: "hello" }

// 索引签名可以混合使用
// 下边的例子，就避免额外属性检查
// 其他属性的类型必须是string属性的子类型
interface Inter2 {
  [propsName: string]: any
  name: string
  gender: string
  age: number
}

interface Inter3 {
  [propsName: string]: string | number
  [index: number]: number
}

let obj2: Inter2 = { name: "孙悟空", gender: "男", age: 18 }

let obj3: Inter3 = { name: "孙悟空", 0: 123, 1: 123 }


